bp-core 0.5.0

Client-side validation library
Documentation

Bitcoin protocol core library

Build Tests Lints codecov

crates.io Docs unsafe forbidden Apache-2 licensed

The library implements bitcoin protocol elements which are missed from other existing bitcoin libraries, like rust-bitcoin and [descriptor wallet]. Currently, it includes components necessary for client-side-validation over bitcoin, specifically

  • deterministic bitcoin commitments API (LNPBP-14, 6 standards)
  • bitcoin-based single-use-seal API (LNPBP-10 and LNPBP-39 standards)

Client-side-validation is a paradigm for distributed computing, based on top of proof-of-publication/commitment medium layer, which may be a bitcoin blockchain or other type of distributed consensus system.

The development of the library is supported by LNP/BP Standards Association.

Usage

To use libraries, you just need latest version of libraries, published to crates.io into [dependencies] section of your project Cargo.toml. Here is the full list of available libraries from this repository:

bp-dbc = "0.5" # Deterministic bitcoin commitments crate
bp-seals = "0.5" # Bitcoin single-use-seals crate
bp-core = "0.5" # Library including both of the previous crates

bp-core crate is an "umbrella" library containing both deterministic bitcoin commitments and bitcoin seals crates inside.

Known applications

The current list of the projects based on the library include:

Contributing

Contribution guidelines can be found in CONTRIBUTING

More information

Policy on altcoins

Altcoins and "blockchains" other than Bitcoin blockchain/Bitcoin protocols are not supported and not planned to be supported; pull requests targeting them will be declined.

Licensing

See LICENCE file.